Não quero renomear um branch remoto, conforme descrito em Renomear branch master para repositórios Git locais e remotos. Como posso renomear um branch local que não foi enviado para um branch remoto? Caso você precise renomear um branch remoto também: Como faço para renomear um nome de branch local e remoto do Git
2020-12-07 21:28:00
1 2 Próximo Se você deseja renomear um branch enquanto aponta para qualquer branch, faça: git branch -mSe você deseja renomear o branch atual, você pode fazer: git branch -m Uma maneira de lembrar isso é -m é para "mover" (ou mv), que é como você renomeia arquivos. Adicionar um alias também pode ajudar. Para fazer isso, execute o seguinte: git config --global alias.rename 'branch -m' Se você estiver no Windows ou em outro sistema de arquivos insensível a maiúsculas e minúsculas, e houver apenas alterações de maiúsculas no nome, você precisará usar -M, caso contrário, o git lançará o erro já existe do ramo: git branch -M | git branch -m old_branch_name new_branch_name O comando acima mudará o nome do seu branch, mas você deve ter muito cuidado ao usar o branch renomeado, porque ele ainda fará referência ao branch upstream antigo associado a ele, se houver. Se você quiser enviar algumas alterações para o mestre depois que seu branch local for renomeado para new_branch_name (nome de exemplo): git push origin new_branch_name: master (agora as alterações irão para o branch master, mas o nome do branch local é new_branch_name) Para obter mais detalhes, consulte "Como renomear o nome do seu branch local no Git." | Para renomear seu branch atual: git branch -m | Aqui estão as etapas para renomear o branch: Mude para a filial que precisa ser renomeada git branch -m git push origin: git push origin : refs / heads / EDIT (12/01/2017): Certifique-se de executar o comando git status e verifique se o branch recém-criado está apontando para seu próprio ref e não o mais antigo. Se você encontrar a referência ao branch mais antigo, será necessário remover a configuração do upstream usando: git branch --unset-upstream | Renomear o branch será útil quando seu branch estiver concluído. Então, novas coisas estão chegando e você deseja desenvolver no mesmo branch em vez de excluí-lo e criar um novo. Pela minha experiência, para renomear um branch local e remoto no Git, você deve seguir os seguintes passos. Citando de vários estados - Renomeie uma filial local e remota em idiota 1. Renomeie sua filial local Se você estiver no ramo que deseja renomear: git branch -m new-name Se você estiver em um ramo diferente: git branch -m nome-antigo novo-nome 2. Exclua o branch remoto de nome antigo e envie o branch local de novo nome git push origin: nome-antigo nome-novo 3. Redefina o branch upstream para o branch local com novo nome git push origin -u new-name | As respostas até agora estão corretas, mas aqui estão algumas informações adicionais: Pode-se renomear com segurança um branch com '-m' (mover), mas deve-se ter cuidado com '-M', pois força a renomeação, mesmo que já exista um branch com o mesmo nome. Aqui está o trecho da página do manual 'git-branch': Com uma opção -m ou -M, será renomeado para . Se tinha um reflog correspondente, ele é renomeado para corresponder a e uma entrada reflog é criada para lembrar a renomeação do branch. Se existir, -M deve ser usado para forçar a renomeação. | 1. Renomear Se for o seu ramo atual, basta fazer git branch -m new_name Se for outro ramo que você deseja renomear git branch -m old_name new_name 2. Rastreie uma nova filial remota - Se seu branch foi enviado por push, depois de renomear você precisa excluí-lo do repositório Git remoto e pedir ao seu novo local para rastrear um novo branch remoto: git push origin: old_name git push --set-upstream origin new_name | Eu tolamente nomeei um branch começando com um hífen e, em seguida, verifiquei o master. Eu não queria deletar meu branch, eu tinha trabalho nele. Nenhum deles funcionou: git checkout -dumb-name git checkout - -dumb-name "s, 'se \ s também não ajudaram. git branch -m não funciona. Veja como eu finalmente consertei. Vá para o .git / refs / heads da sua cópia de trabalho, encontre o nome do arquivo "-dumb-name", obtenha o hash do branch. Em seguida, isso fará o check out, fará um novo branch com um nome lógico e excluirá o antigo. git checkout {hash} git checkout -b nome-brilhante git branch -d - -dumb-name | Para renomear um branch localmente: git branch -m [old-branch] [new-branch] Agora você terá que propagar essas mudanças em seu servidor remoto também. Para enviar alterações do branch antigo excluído: origem do git push: [ramo antigo] Para empurrar mudanças de criação de novo ramo: git push origin [new-branch] | Apenas três etapas para replicar a mudança no nome remoto e também no GitHub: Etapa 1 git branch -m old_branchname new_branchname Etapa 2 git push origin: old_branchname new_branchname Etapa 3 git push --set-upstream origin new_branchname | Renomeie o branch usando este comando: git branch -m [old_branch_name] [new_branch_name] -m: Renomeia / move o ramo. Se já houver um branch, você receberá um erro. Se já existe um branch e você deseja renomear com esse branch, use: git rename -M [old_branch_name] [new_branch_name] Para obter mais informações sobre a ajuda, use este comando no terminal: git branch --help ou cara vairamo | Os usuários avançados do Git podem renomear manualmente usando: Renomeie o branch antigo em .git / refs / heads para o novo nome Renomeie o branch antigo em .git / logs / refs / heads para o novo nome Atualize o .git / HEAD para apontar para seu novo nome de branch | Renomeie sua filial local. Se você estiver no ramo que deseja renomear: git branch -m new-name Se você estiver em um ramo diferente: git branch -m nome-antigo novo-nome Exclua o branch remoto de nome antigo e envie por push o branch local de novo nome. git push origin: nome-antigo nome-novo Redefina a ramificação upstream para a ramificação local new-name. Mude para a filial e então: git push origin -u new-name Ou para fazer isso rapidamente, você pode usar estas três etapas: # Renomear filial localmente git branch -m old_branch new_branch # Exclua o antigo branch remoto git push origin: old_branch # Empurre o novo ramo, defina o ramo local para rastrear o novo remoto git push --set-upstream origin new_branch Referência: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html | Aqui estão três etapas: Um comando que você pode chamar dentro de seu terminal e alterar o nome do branch. git branch -m old_branch new_branch # Renomear branch localmente git push origin: old_branch # Exclua o branch antigo git push --set-upstream origin new_branch # Envia o novo branch, define o branch local para rastrear o novo remoto Se você precisar de mais: passo a passo, How To Change Git Branch Name é um bom artigo sobre isso. | Provavelmente, conforme mencionado por outros, essa será uma incompatibilidade de caso na nomenclatura de ramificação. Se você tiver essa situação, posso supor que você está no Windows, o que também o levará a: $ git branch -m CaseSensitive caseensitive fatal: já existe um branch chamado 'caseensitive'. Então você tem que fazer uma etapa intermediária: $ git branch -m temporário $ git branch -m caseensitive Nada mais. | Tentar responder especificamente à pergunta (pelo menos o título). Você também pode renomear o branch local, mas continua rastreando o nome antigo no remoto. git branch -m old_branch new_branch git push --set-upstream origin new_branch: old_branch Agora, quando você executa git push, a referência old_branch remota é atualizada com sua new_branch local. Você tem que conhecer e lembrar esta configuração. Mas pode ser útil se você não tiver a opção de escolher o nome do branch remoto, mas não gostar (oh, quero dizer, você tem um bom motivo para não gostar!) E preferir um nome mais claro nome para sua filial local. Jogando com a configuração de busca, você pode até mesmo renomear a referência remota local. ou seja, tendo um refs / remote / origin / new_branch ref pointer para o branch, que é de fato o old_branch na origem. No entanto, eu desencorajo isso, para a segurança de sua mente. | Mudar o branch localmente é muito fácil ... Se você estiver no branch para o qual deseja alterar o nome, basta fazer o seguinte: git branch -m my_new_branch Caso contrário, se você estiver no master ou em qualquer outro branch diferente daquele que deseja alterar o nome, basta fazer: git branch -m my_old_branch my_new_branch Além disso, crio a imagem abaixo para mostrar isso em ação em uma linha de comando. Neste caso, você está no branch master, por exemplo: | Se você estiver disposto a usar SourceTree (que eu recomendo fortemente), você pode clicar com o botão direito no seu branch e escolher 'Renomear'. | Para renomear o branch atual (exceto para o estado HEAD desanexado), você também pode usar este alias: [alias] mvh =! sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $ 1' | Outra opção é não usar a linha de comando. Clientes Git GUI, como SourceTree, eliminam muito da curva de aprendizado sintático / dor que faz com que questões como esta estejam entre as mais visualizadas no Stack Overflow. Em SourceTree, clique com o botão direito em qualquer branch local no painel "Branches" à esquerda e selecione "Renomear ...". | Uma maneira simples de fazer isso: git branch -m old_branch new_branch # Renomear branch localmente git push origin: old_branch # Exclua o branch antigo git push --set-upstream origin new_branch # Envia o novo branch, define o branch local para rastrear o novo remoto Para mais, veja isto. | Como você não deseja enviar a ramificação para um servidor remoto, este exemplo será útil: Digamos que você tenha um branch existente chamado "my-hot-feature" e queira renomeá-lo para "feature-15". Primeiro, você deseja alterar sua filial local. Isso não poderia ser mais fácil: git branch -m my-hot-feature-15 Para obter mais informações, você pode visitar Renomeando localmente e remotamente uma filial no Git. | Git versão 2.9.2 Se você deseja alterar o nome da filial local em que está: git branch -m new_name Se você deseja alterar o nome de uma filial diferente: git branch -m old_name new_name Se você deseja alterar o nome de uma filial diferente para um nome que já existe: git branch -M old_name new_name_that_already_exists Nota: O último comando é destrutivo e renomeará seu branch, mas você perderá o branch antigo com esse nomee esses commits porque os nomes dos ramos devem ser únicos. | Se você deseja alterar o nome do branch atual, execute: git branch -m [old_branch] [new_branch] Se você deseja excluir o branch remoto antigo, execute: origem do git push: [old_branch] Se você deseja excluir o branch remoto antigo e criar um novo branch remoto, execute: git push origin: old_branch new_branch | Na verdade, você tem três etapas porque a filial local tem uma duplicata no servidor, então temos uma etapa para local em duas etapas no servidor: Renomear local: basta usar o seguinte comando para renomear seu branch atual, mesmo que você tenha verificado: git branch -m Exclua o servidor: use o seguinte comando para excluir o branch de nome antigo no servidor: git push : Envie o novo: agora é hora de enviar o novo branch nomeado no servidor: git push -u | A renomeação do branch Git pode ser feita usando: git branch -m oldBranch newBranch git branch -M oldBranch ExistingBranch A diferença entre -m e -M: -m: se você está tentando renomear seu branch com um nome de branch existente usando -m. Irá gerar um erro dizendo que o branch já existe. Você precisa fornecer um nome exclusivo. Mas, -M: isso o ajudará a forçar a renomeação com um determinado nome, mesmo que exista. Portanto, um branch existente será totalmente substituído por ele ... Aqui está um exemplo de terminal Git, mohideen @ dev: ~ / project / myapp / sunithamakeup $ git branch mestre master0 new_master teste * test1 mohideen @ dev: ~ / project / myapp / sunithamakeup $ git branch -m test1 test fatal: um branch chamado 'teste' já existe. mohideen @ dev: ~ / project / myapp / sunithamakeup $ git branch -M test1 test mohideen @ dev: ~ / project / myapp / sunithamakeup $ git branch mestre master0 new_master * teste mohideen @ dev: ~ / project / myapp / sunithamakeup $ | Para usuários da GUI do Git, não poderia ser muito mais simples. Na GUI do Git, escolha o nome do branch na lista suspensa na caixa de diálogo "Rename Branch" criada a partir do item de menu Branch: Rename, digite um novo nome e clique em "Rename". Eu destaquei onde encontrar a lista suspensa. | Todas as respostas anteriores falam sobre git branch -m. Claro, é fácil de operar, mas para mim, pode ser um pouco difícil lembrar de outro comando do Git. Então tentei fazer o trabalho pelo comando com o qual estava familiarizado. Sim, você pode adivinhar. Eu uso git branch -b . E se você não quiser salvar o branch antigo agora, você pode executar git branch -D para removê-lo. Eu sei que pode ser um pouco tedioso, mas é mais fácil de entender e lembrar. Espero que seja útil para você. | Se você quiser: Renomeie o repositório Git, execute: git branch -m Exclua o branch antigo por: git push origin: old-name new-name Faça commit usando: git commit e empurre usando: git push origin new_branch_name: master Se você quiser verificar o status, use: git status Se você quiser verificar, use: git checkout | Antes de começar, certifique-se de ter selecionado o branch que deseja renomear: git checkout old-name Se você quiser ver todos os seus branches locais, use o seguinte comando: git branch --list Quando tudo estiver limpo, siga estas etapas: Usar o comando Git rename branch exigirá que você adicione uma opção -m ao seu comando: git branch -m new-name Você também pode renomear um branch local de outro branch usando os dois comandos a seguir: git checkout master git branch -m nome-antigo novo-nome Por último, este comando irá listar todos - locais e remotos - ramos para verificar se foi renomeado: git branch -a Embora não seja possível renomear um branch remoto diretamente, o processo de renomear um envolve estas três etapas fáceis: Para começar, você precisará renomear uma filial local seguindo as etapas anteriores. 2. Em seguida, exclua o branch antigo e empurre o novo. Você pode fazer isso facilmente com os seguintes comandos: git push origin - excluir nome antigo git push origin: nome-antigo nome-novo Redefina o branch upstream para seu novo branch local e você estará pronto: git push origin -u new-name | 1 2 Próximo Questão altamente ativa. Ganhe 10 reputação para responder a esta pergunta. O requisito de reputação ajuda a proteger essa pergunta contra spam e atividades sem resposta. Não é a resposta que você está procurando? Navegue por outras questões com a tag git version-control git-branch ou faça sua própria pergunta.